/**
 * Licensed to the Apache Software Foundation （ASF） under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * （the "License"）； you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * <p>
 * https://www.q3z3.com
 * QQ : 939313737
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.platform.modules.sys.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.platform.common.aspectj.SysLogEnum;
import com.platform.common.web.domain.BaseEntity;
import lombok.Data;

import java.util.Date;

/**
 * <p>
 * 系统日志实体类
 * </p>
 */
@TableName("sys_log")
@Data
public class SysLog extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId
    private Long id; // 主键
    private String username; // 用户名
    private Integer moduleType; // 模块类型
    private String methodName; // 方法名称
    private String requestIp; // 请求ip
    private String remark; // 描述
    private Date createTime; // 记录时间
    @TableField(exist = false)
    private String moduleTypeStr;

    public void setModuleType(Integer moduleType) {
        this.moduleType = moduleType;
        if (moduleType != null) {
            this.moduleTypeStr = SysLogEnum.fromCode(this.moduleType).getName();
        }
    }
}
